/**
 * Interface package for Java version of the HTN Embedded Agent.
 * 
 * The Embedded Agent (EA) application is a utility for validation,
 * authentication, storage, and forwarding of RTML documents to the Telescope
 * Scheduling Agent, and indicating to the user the status of RTML operations.
 * 
 * Operations may be synchronous or asynchronous, e.g., RTML 'resource' and
 * 'inquiry' documents provide a response, while RTML 'request' documents are
 * asynchronous operations.  In the latter case, the response may be sent back
 * to the requester or made available by query.
 * 
 * The main interface is the {@link EARequestDelegate}, the responsibility of
 * implementations is to extract the mode of the RTML document, and delegate
 * responsibility for the document to the designated {@link EARequest}.
 * 
 * The {@link EARequest} orchestrator has the following responsibilities:
 * <ul>
 * <li>validate the RTML document (optional)</li>
 * <li>authenticate the origin of the RTML document (optional)</li>
 * <li>store the RTML document (optional)</li>
 * <li>forward the RTML document to the Telescope Scheduling Agent</li>
 * </ul>
 * 
 * For 'request' operations (mode='request'), the document is typically stored,
 * and a response sent back to the user indicating the status of the request.
 * 
 * Responses entering the system from the agent at the telescope (though the
 * {@link org.htn.telescope.TelescopeEventHandler}) are forwarded to
 * another orchestrator (<i>reference here</i>) that persists the new
 * information and forwards the event to the
 * {@link org.htn.plugin.PluginExecutor} for further (custom) post-processing.
 * 
 * After post-processing, the updated RTML document is forwarded to the user
 * through the configured {@link EAResponse}.
 * 
 * 
 */
package org.htn;